#ifndef _TIMER2_H__
#define _TIMER2_H__
#include "timer_config.h"


/**
                     timer2   主频 60MHZ
       CHO             CH1           CH1       CH2
    PA6|PB4|PC6    PA7|PB5|PC7    PB0|PC8    PB1|PC9
    注意:
        通用定时器  同一个通道 同时只能配置一个gipo输出
        只能输出一路pwm或定时器使用
**/

#if USE_TIMER2
/**********************配置*******************************/
// 选择输出通道
#define TIMER2_CH0_ENABLE 1
#define TIMER2_CH1_ENABLE 0
#define TIMER2_CH2_ENABLE 0
#define TIMER2_CH3_ENABLE 0

#if TIMER2_CH0_ENABLE 
// 可选择的引脚    PA6 PB4 PC6
#define TIMER2_CH0_PORT_RCU RCU_GPIOC
#define TIMER2_CH0_PORT GPIOC
#define TIMER2_CH0_PORT_PIN GPIO_PIN_6
#endif

#if TIMER2_CH1_ENABLE
// 可选择的引脚   PA7,PB5,PC7
#define TIMER2_CH1_PORT_RCU RCU_GPIOC
#define TIMER2_CH1_PORT GPIOC
#define TIMER2_CH1_PORT_PIN GPIO_PIN_7
#endif

#if TIMER2_CH2_ENABLE
// 可选择的引脚  PB0,PC8
#define TIMER2_CH2_PORT_RCU RCU_GPIOC
#define TIMER2_CH2_PORT GPIOC
#define TIMER2_CH2_PORT_PIN GPIO_PIN_8
#endif

#if TIMER2_CH3_ENABLE
// 可选择的引脚 PB1,PC9
#define TIMER2_CH3_PORT_RCU RCU_GPIOC
#define TIMER2_CH3_PORT GPIOC
#define TIMER2_CH3_PORT_PIN GPIO_PIN_9

#endif 

/**********************对外提供函数*******************************/
void timer2_init();

#if TIMER2_CH0_ENABLE
void timer2_ch0_update(float duty);
#endif

#if TIMER2_CH1_ENABLE
void timer2_ch1_update(float duty);
#endif

#if TIMER2_CH2_ENABLE
void timer2_ch2_update(float duty);
#endif

#if TIMER2_CH3_ENABLE
void timer2_ch3_update(float duty);
#endif
#endif
#endif
